更改变量属性 3 – 类型

作者:Ruben Geert van den Berg,来自 SPSS 字典教程

SPSS 提供了多种更改变量类型的方法。本教程将引导您完成一些示例。

SPSS 变量类型 - 为什么要更改它?

  • 您可以对变量执行的操作可能取决于它的类型,并在较小程度上取决于它的格式。
  • 例如,您可以从字符串变量 中提取 子字符串,但不能从数值变量中提取。
  • 对于时间计算(“…之间有多少小时”),您需要使用适当的 时间变量 和/或 日期变量
  • 在某些情况下,您可能希望对当前类型或格式下无法执行的变量执行此类操作。 在这种情况下,更改这些类型或格式通常是可行的方法。

在 SPSS 中更改变量类型

SPSS Alter Type 语法示例

(以下语法使用的测试数据位于 此处。)

***1. 将 "birthday" 转换为字符串 (string)。
**
alter type birthday(a10).

***2. 转换回具有日期格式的数值变量 (numeric variable)。
**
alter type birthday(edate10).

SPSS 字符串 (String) 和数值 (Numeric) 函数

  • 将数值变量转换为字符串的另一种更经典的方法是使用 STRING 函数 (function)
  • 请注意,新的字符串变量(与数值变量相反)首先必须通过 STRING 命令 (command) 来声明(“创建”)。
  • 使用 NUMERIC 函数可以将字符串变量转换为数值变量。

SPSS 字符串 (String) 和数值 (Numeric) 语法示例

(以下语法使用的测试数据位于 此处。)

***1. 用于声明新字符串变量的字符串命令。
**
string str_q1(a1).

***2. 使用值填充新的字符串变量。
**
compute str_q1 = string(q1,f1)./* 字符串函数 (String function).
exe.

***3. 将新的字符串变量转换回(新的)数值变量。
**
compute num_q1 = numeric(str_q1,f1).
exe.

***4. 练习后删除两个新变量。
**
delete variables str_q1 num_q1.

SPSS Autorecode 命令和 Valuelabels 函数

  • 最后但并非最不重要的一点是,可以使用 AUTORECODE 命令将字符串变量转换为数值变量。
  • 每个不同的字符串值都呈现为新数值变量中值的 Value Label。
  • AUTORECODE 通常应用于具有许多重复值的字符串变量。
  • 相反,将 Value Label 作为值传递到新的字符串变量中是通过 VALUELABELS 函数完成的。
  • 在使用它之前,必须首先使用 STRING 命令声明新的字符串变量。

SPSS Autorecode 和 Valuelabels 语法示例

(以下语法使用的测试数据位于 此处。)

***1. 使用 autorecode 命令将字符串转换为(新的)数值变量。
**
autorecode name
/into num_name.

***2. 使用 string 命令声明新的字符串变量。
**
string str_name(a10).

***3. 使用(数值)变量的 Value Label 填充字符串变量。
**
compute str_name = valuelabels(num_name).
exe.

***4. 在练习结束时删除两个变量。
**
delete variables num_name to str_name.